-- 下行代码只代表查值时自动查global,增加global的变量或者修改global的变量时还是需要带"GLOBAL."(摘抄自棱镜)
GLOBAL.setmetatable(env, { __index = function(t, k) return GLOBAL.rawget(GLOBAL, k) end })
GLOBAL.TFAPI = env
local _G = GLOBAL

-- 获取mod配置,放到官方的全局变量tuning表中
TUNING.TF_LANGUAGE = GetModConfigData("languages")    -- 获取配置:语言
TUNING.TICKF = GetModConfigData("tf_keep_fresh")      -- 获取配置:mod容器保鲜倍率
TUNING.TF_C_N = GetModConfigData("tf_containers_num") -- 获取配置:mod容器格子数量
TUNING.TF_COOK = GetModConfigData("tf_cook")          -- 获取配置:mod料理烹饪设定
TUNING.TF_SPICES = GetModConfigData("tf_spices")      -- 获取配置:mod调味是否开启
TUNING.TF_BOX = GetModConfigData("tf_box")            -- 获取配置:mod饭盒可否制作
TUNING.TF_COOKPOT = GetModConfigData("tf_cookpot")    -- 获取配置:mod灶台是否加强

-- ※标注的地方大概率在新增内容的时候需要添加对应的参数,请仔细核对※标注的部分

-- ※万物皆是prefab
PrefabFiles =
{
    "tf_skins",                -- 皮肤
    "tf_foods",                -- 料理
    "tf_buffs",                -- buff
    "tf_box",                  -- 饭盒
    "tf_cowboy_ribs",          -- 泰式酸辣牛仔骨
    "tf_crab",                 -- 淡水蟹/死蟹/熟蟹
    "tf_green_shrimp",         -- 淡水虾/虾仁/熟虾仁
    "tf_icebox_chillet",       -- 疾旋鼬冰箱
    "tf_beverage_cabinet",     -- 冰柜
    "tf_pond",                 -- mod池塘:蟹塘/虾塘
    "tf_veggies",              -- mod作物产物
    "tf_bacon",                -- 培根
    "tf_seedpacket",           -- 种子包
    "tf_floral_butterfly_fan", -- 花蝶扇
    "tf_hot_pot_rack",         -- 火锅架子
    "tf_cookpot",              -- 火锅灶台
    "tf_rainbow_apple",        -- 彩虹苹果
    "tf_milk",                 -- 牛奶
    "tf_kimchi",               -- 泡菜
}
local spices =
{
    "tf_spices",       -- 调味粉
    "tf_spices_foods", -- 本mod调味粉调味后料理
}
if TUNING.TF_SPICES == "Yes" then
    for k, v in pairs(spices) do
        table.insert(PrefabFiles, v)
    end
end

Assets =
{
    Asset("ANIM", "anim/tf_minisign1.zip"), -- 小木牌256高清贴图
    Asset("ANIM", "anim/tf_minisign2.zip"),
    Asset("ANIM", "anim/tf_minisign3.zip"),

    Asset("ANIM", "anim/ui_beverage_cabinet_5x5.zip"), -- 冰柜UI
    Asset("ANIM", "anim/ui_tf_hot_pot_rack_3x3.zip"),  -- 火锅架子UI

    Asset("ATLAS", "images/tf_inventoryimages.xml"),   -- 物品栏贴图集
    Asset("IMAGE", "images/tf_inventoryimages.tex"),
    -- 注册小木牌用:本mod已经准备了256原图的小木牌动画资源,这行代码是给有展示装饰的mod使用(例如棱镜的展示柜,登仙的展示柜,棱镜的展示柜我会兼容自己的256高清贴图)
    Asset("ATLAS_BUILD", "images/tf_inventoryimages.xml", 256),

    Asset("ATLAS", "images/tf_hud.xml"), -- HUD贴图集
    Asset("IMAGE", "images/tf_hud.tex"),

    Asset("ATLAS", "minimap/tf_minimap.xml"), -- 小地图贴图集
    Asset("IMAGE", "minimap/tf_minimap.tex"),
}

-- 添加小地图显示
AddMinimapAtlas("minimap/tf_minimap.xml")

_G.TF_SETS = {
    ENABLEDMODS = {},
}

-- 判定别的mod是否开启，参考了风铃大佬的代码
local modsenabled = KnownModIndex:GetModsToLoad(true)
local enabledmods = {}
for k, dir in pairs(modsenabled) do
    local info = KnownModIndex:GetModInfo(dir)
    local name = info and info.name or "unknown"
    enabledmods[dir] = name
end
local function IsModEnable(name)
    for k, v in pairs(enabledmods) do
        if v and (k:match(name) or v:match(name)) then
            return true
        end
    end
    return false
end

_G.TF_SETS.ENABLEDMODS["legion"] = IsModEnable("Legion") or IsModEnable("棱镜") -- 棱镜
_G.TF_SETS.ENABLEDMODS["myth"] = IsModEnable("Myth Words") or IsModEnable("%[DST%] 神话书说") or IsModEnable("%[DST%]神话书说")
    or IsModEnable("%[DST%]%s+神话书说") or IsModEnable("workshop%-1991746508") or IsModEnable("workshop%-2199027653598524334") -- 神话
_G.TF_SETS.ENABLEDMODS["lg"] = IsModEnable("LEGOND") or IsModEnable("海洋传说") -- 海传
_G.TF_SETS.ENABLEDMODS["medal"] = IsModEnable("Functional Medal") or IsModEnable("能力勋章") or IsModEnable("workshop-1909182187") -- 能力勋章
TUNING.TF_LEGION_ENABLED = _G.TF_SETS.ENABLEDMODS["legion"]
TUNING.TF_MYTH_ENABLED = _G.TF_SETS.ENABLEDMODS["myth"]
TUNING.TF_LG_ENABLED = _G.TF_SETS.ENABLEDMODS["lg"]
TUNING.TF_MEDAL_ENABLED = _G.TF_SETS.ENABLEDMODS["medal"]

modimport("scripts/tf_globalfn.lua") -- 全局函数
-- 引入相关资源
if TUNING.TF_SPICES == "Yes" then
    modimport("scripts/tf_spicedfoods.lua") -- 调味粉
end
modimport("scripts/tf_farm_plant_defs.lua") -- 农作物植株数据
modimport("scripts/tf_actions.lua")         -- 动作
modimport("scripts/tf_containers.lua")      -- 容器
modimport("scripts/tf_registerimages.lua")  -- 注册贴图
TF_TOOL.Tool_RegisterInventoryItemAtlas("images/tf_inventoryimages.xml")
modimport("scripts/tf_recipe.lua")          -- ※制作配方
modimport("scripts/tf_minisign.lua")        -- ※兼容小木牌 高清贴图请去 tf_minisign_list.lua
modimport("scripts/tf_skinapi.lua")         -- 风铃大佬的皮肤api
modimport("scripts/tf_foods.lua")           -- 食物
modimport("scripts/tf_hook.lua")            -- 在原版的代码中,加入自己的代码
modimport("scripts/tf_cooking.lua")         -- 烹饪相关

-- 设置语言
if TUNING.TF_LANGUAGE == "Chinese" then
    modimport("scripts/languages/tf_chinese.lua") -- ※中文
elseif TUNING.TF_LANGUAGE == "English" then
    modimport("scripts/languages/tf_english.lua") -- ※英文
else
    modimport("scripts/languages/tf_chinese.lua")
end
